1. Field of the Invention
The present invention relates to the field of message queue management and more particularly to the programmatic association of logically associated messages in a message queue.
2. Description of the Related Art
In the field of information technology, a message queue is a software-engineering component used for inter-process communications or inter-thread communications. The component employs a queue into which messages can be placed by a messenger and from which messages can be retrieved by a designated recipient. In this regard, the message queue can be a communicative component enabling asynchronous messaging as between the messenger and the designated recipient. Operationally, the message queue can support multiple messengers and recipients such that asynchronous communications can be achieved for a group of participants.
The asynchronous nature of the message queue provides for an ideal technology coupler for disparate technologies. Specifically, so long as separate technologies can access the message queue, the separate and disparate technologies can engage in message passing thereby enabling communications. In particular, the message queue can expose different method calls through an application programming interface (API) for opening, writing to, reading from, and closing the message queue. Each application in turn can include logic to invoke a sequence of the method calls in order to either place a message into the message queue, or to retrieve a message from the message queue. Specifically, in operation, upon request, the API can search a message queue for an available message and can return the same to the requesting logic.
Generally, messages are placed on message queues by one or more applications for the purpose of being processed by other applications. Messages can be processed as the messages arrive on a message queue, or messages can accumulate to be processed at a later time. In the latter circumstance, accumulated messages can be logically associated where appropriate. For example, messages pertaining to the same subject matter can be logically associated by the common subject matter such as messages pertaining to financial operations on the same account, or messages pertaining to contact management operations for the same person.
Typically, when logically associated messages in a message queue are processed by an application, each message in the message queue is processed independently of other messages in the message queue. In this regard, to the extent each message in the message queue pertains to a transaction to be performed by the application, each transaction is performed responsive to the retrieval of a corresponding message from the message queue irrespective of any other transaction corresponding to any other message remaining in the message queue. Alternatively, an application can pre-process all messages in the message queue to identify logically associated messages, and can perform a merge of the identified logically associated messages prior to processing the merged messages.
Notwithstanding, the skilled artisan will recognize that it remains the responsibility of the application either to process the messages in the message queue individually, even when the messages are logically associated, or to perform a merge of logically associated messages to resolve logical associations prior to processing the merged messages. In either circumstance, additional computer processing will be required adding complexity and processing time to application programs.